<script setup lang="ts">
import { onHide, onLaunch, onShow } from '@dcloudio/uni-app';
import userApi from "@/api/user";
import LoginRes = UniNamespace.LoginRes;
import {APP_ID} from "@/config/app";

onLaunch(() => {
  //登录
  if (!uni.getStorageSync('openId')) {
    uni.login({
      provider: 'weixin',
      success: (result: LoginRes) => {
        userApi.getOpenId({code: result.code, appId: APP_ID}).then(res => {
          uni.setStorageSync('openId', result.code)
        })
      },
      fail: () => {

      }
    })
  }

  // 版本更新
  if (uni.canIUse('getUpdateManager')) {
    const updateManager = uni.getUpdateManager();

    updateManager.onCheckForUpdate(res => {
      if (res.hasUpdate) {

        uni.showModal({

          title: '更新提示',

          content: '检测到新版本，是否下载新版本并重启小程序？',

          success(res) {

            if (res.confirm) {

              //2. 用户确定下载更新小程序，小程序下载及更新静默进行

              updateManager.applyUpdate()

            } else if (res.cancel) {

              //用户点击取消按钮的处理，如果需要强制更新，则给出二次弹窗，如果不需要，则这里的代码都可以删掉了

              uni.showModal({

                title: '温馨提示~',

                content: '本次版本更新涉及到新的功能添加，旧版本无法正常访问的哦~',

                showCancel: false, //隐藏取消按钮

                confirmText: "确定更新", //只保留确定更新按钮

                success: function(res) {

                  if (res.confirm) {

                    //下载新版本，并重新应用

                    updateManager.applyUpdate()

                  }

                }

              })

            }

          }

        })

      }

    })

  } else {
    // 如果希望用户在最新版本的客户端上体验您的小程序，可以这样子提示
    uni.showModal({

      title: '提示',

      content: '当前微信版本过低，无法使用该功能，请升级到最新微信版本后重试。'

    })
  }
});
onShow(() => {
  console.log('App Show');
});
onHide(() => {
  console.log('App Hide');
});
</script>

<style lang="scss">
@import "vk-uview-ui/index.scss";
@import "@/static/css/style.scss";
page {
  height: 100%;
  background-color: #f5f5f5;
  --animate-duration: 1s;
  --animate-delay: 1s;
  --animate-repeat: 1;
}
</style>
